package dao

import (
	_ "github.com/go-sql-driver/mysql"
	"github.com/jmoiron/sqlx"
	"roomAdmin/utils"
	"time"
)

var (
	DB *sqlx.DB
)

func Init() (err error) {
	DB, err = sqlx.Open(utils.DatabaseSetting.Type, utils.DatabaseSetting.Local)
	if err != nil {
		return err
	}

	// 查看是否连接成功
	err = DB.Ping()
	if err != nil {
		return err
	}

	// 设置连接池中的最大闲置连接数
	DB.SetMaxIdleConns(10)

	// 设置数据库的最大连接数
	DB.SetMaxOpenConns(100)

	// 设置连接的最大可复用时间
	DB.SetConnMaxLifetime(10 * time.Second)

	return
}

func DbClose() {
	_ = DB.Close()
}
